// 需要找到响应拦截器部分，修改401处理逻辑
service.interceptors.response.use(
  response => {
    const res = response.data
    if (res.code !== 200) {
      ElMessage({
        message: res.msg || '请求失败',
        type: 'error',
        duration: 5 * 1000
      })

      // 处理401未授权
      if (res.code === 401) {
        handleLogout()
      }
      return Promise.reject(new Error(res.msg || '请求失败'))
    } else {
      return res
    }
  },
  error => {
    // HTTP错误处理
    if (error.response) {
      if (error.response.status === 401) {
        ElMessage({
          message: '登录状态已过期，请重新登录',
          type: 'error',
          duration: 5 * 1000
        })
        handleLogout()
      } else {
        ElMessage({
          message: error.message || '请求失败',
          type: 'error',
          duration: 5 * 1000
        })
      }
    } else {
      ElMessage({
        message: '网络错误，请检查网络连接',
        type: 'error',
        duration: 5 * 1000
      })
    }
    return Promise.reject(error)
  }
)

// 添加处理登出逻辑的函数
function handleLogout() {
  // 移除token
  localStorage.removeItem('token')
  sessionStorage.removeItem('token')
  
  // 强制重定向到登录页面
  // 无论当前是否在登录页，都强制重定向并刷新
  setTimeout(() => {
    // 先确保URL是登录页，并添加过期参数
    window.location.href = '/#/login?expired=true'
    // 强制页面刷新
    setTimeout(() => {
      window.location.reload(true) // 使用true参数强制从服务器重新加载
    }, 100)
  }, 500)
} 